class code4 {
    //位运算：看每一位数的第i位数，如果第i位1较多，将res的第i位置为1，否则为0
    public int majorityElement(int[] nums) {
        int n = nums.length;
        if(n < 1) return -1;
        int res = 0;
        for(int i=0;i<32;i++) {
            int mask = 1<<i;
            int count = 0;
            for(int x:nums) {
                if((x>>i & 1) == 1) {
                    count++;
                }
            }
            if(count > n/2) {
                res ^= mask;
            }
        }
        int count = 0;
        for(int x:nums) {
            if(x == res) {
                count++;
            }
        }
        return count>n/2 ? res:-1;
    }
}